/**
 * 字典集合
 */
var ssDict = {
    /**
     * 动作类型
     */
    sActionType: {
        /**
         * 插入操作
         */
        INSERT: "1",

        /**
         * 修改操作
         */
        MODIFY: "2",

        /**
         * 删除操作
         */
        DELETE: "3",

        /**
         * 替换动作
         */
        REPLACE: "4",

        /**
         * 空
         */
        EMPTY: "empty"
    },
    /**
     * 元素样式类型
     */
    sStyles: [
        "align",
        "backgroundColor",
        "borderColor",
        "borderStyle",
        "borderWidth",
        "color",
        "display",
        "fontFamily",
        "fontSize",
        "fontWeight",
        "fontStyle",
        "height",
        "minHeight",
        "padding",
        "paddingBottom",
        "paddingLeft",
        "paddingRight",
        "paddingTop",
        "sub",
        "sup",
        "textDecoration",
        "width"
    ],
    /**
     * 元素类型支持样式
     */
    sStylesSupport: {
        "align": { elementTypes: ["sTableCell"] },
        "backgroundColor": { elementTypes: ["sTableCell", "sText", "sLayer"] },
        "borderColor": { elementTypes: ["sTableCell"] },
        "borderStyle": { elementTypes: ["sTableCell"] },
        "borderWidth": { elementTypes: ["sTableCell"] },
        "color": { elementTypes: ["sText"] },
        "display": { elementTypes: ["sTableCell", "sText", "sLayer"] },
        "fontFamily": { elementTypes: ["sText"] },
        "fontSize": { elementTypes: ["sText"] },
        "fontWeight": { elementTypes: ["sText"] },
        "fontStyle": { elementTypes: ["sText"] },
        "height": { elementTypes: ["sLayer", "sTableColumn", "sTableCell", "sCheckBox", "sRadio", "sInputBegin", "sInputEnd"] },
        "letterSpacing": { elementTypes: ["sText"] },
        "lineHeight": { elementTypes: ["sParagraph"] },
        "minHeight": { elementTypes: ["sTableCell"] },
        "padding": { elementTypes: ["sTableCell"] },
        "paddingBottom": { elementTypes: ["sTableCell"] },
        "paddingLeft": { elementTypes: ["sTableCell"] },
        "paddingRight": { elementTypes: ["sTableCell"] },
        "paddingTop": { elementTypes: ["sTableCell"] },
        "textAlign": { elementTypes: ["sParagraph"] },
        "sub": { elementTypes: ["sText"] },
        "sup": { elementTypes: ["sText"] },
        "textDecoration": { elementTypes: ["sText", "sLayer"] },
        "width": { elementTypes: ["sLayer", "sTableColumn", "sCheckBox", "sRadio", "sInputBegin", "sInputEnd"] }
    },
    /**
     * 以像素PX为单位的表示长宽和距离的样式
     */
    sStylesHasPXUnit: [
        "width",
        "height",
        "minHeight",
        "padding"
    ],
    /**
     * 支持的属性
     */
    sPropsSupport: {
        "colspan": { elementTypes: ["sTableCell"] },
        "rowspan": { elementTypes: ["sTableCell"] }
    },
    /**
     * 段落样式类型
     */
    sParagraphStyles: [
        "textAlign",
        "textIndent",
        "lineHeight",
        "leftWholeIndent",
        "rightWholeIndent"
    ],
    /**
     * 错误码
     */
    sErrorCode: {
        "BEYOND_BOUNDARY_HEAD": "页眉超出边界",
        "BEYOND_BOUNDARY_FOOT": "页脚超出边界"
    },
    /**
     * 单图层元素级别, 数字越小，层级越低
     */
    sPaintLayerLevel: {
        /**
         * 文档背景图
         */
        CONTEXT_BACKGROUND_IMAGE: 0,
        /**
         * 文档背景
         */
        CONTEXT_BACKGROUND: 1,
        /**
         * 页面背景图
         */
        PAGE_BACKGROUND_IMAGE: 2,
        /**
         * 页面背景
         */
        PAGE_BACKGROUND: 3,
        /**
         * 元素背景
         */
        ELEMENT_BACKGROUND: 4,
        /**
         * 层区域(嵌入层)
         */
        LAYER_ZONE: 5,
        /**
         * 查找区域
         */
        FIND_ZONE: 6,
        /**
         * 高亮显示
         */
        HIGHLIGHT: 7,
        /**
         * 选择区域
         */
        SELECTION: 8,
        /**
         * 元素内容
         */
        ELEMENT_CONTENT: 9
    },
    /**
     * 多图层级别
     */
    sPaintLayerZindex: {
        /**
         * 行内元素级别
         */
        INLINE: 100
    },
    /**
     * SVG绘制图标
     */
    sICON: {
        /**
         * base64编码前缀
         */
        prefix: "data:image/svg+xml;base64,",
        /**
         * 多选框状态图标
         */
        checkbox: {
            STATUS_TRUE: `<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1709623417676" class="icon" viewBox="80 80 780 780" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="{width}" height="{height}"><path d="M466.346667 722.346667l-199.68-182.613334a3.84 3.84 0 0 1 0-5.973333l51.2-55.466667a4.693333 4.693333 0 0 1 5.973333 0l139.946667 119.466667a3.84 3.84 0 0 0 5.973333 0l223.146667-241.066667a4.693333 4.693333 0 0 1 6.4 0l54.186666 54.186667a4.266667 4.266667 0 0 1 0 5.973333l-280.32 305.066667a4.266667 4.266667 0 0 1-6.4 0.853333zM806.4 213.333333H217.6a3.84 3.84 0 0 0-4.266667 4.266667v588.8a3.84 3.84 0 0 0 4.266667 4.266667h588.8a3.84 3.84 0 0 0 4.266667-4.266667V217.6a3.84 3.84 0 0 0-4.266667-4.266667zM853.333333 849.066667a4.693333 4.693333 0 0 1-4.693333 4.693333H174.506667a4.693333 4.693333 0 0 1-4.693334-4.693333V174.933333A4.693333 4.693333 0 0 1 174.933333 170.666667h674.133334a4.693333 4.693333 0 0 1 4.693333 4.693333z" fill="{fillColor}"></path></svg>`,
            STATUS_FALSE: `<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1709623363642" class="icon" viewBox="80 80 780 780" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="{width}" height="{height}"><path d="M806.4 213.333333H217.6a3.84 3.84 0 0 0-4.266667 4.266667v588.8a3.84 3.84 0 0 0 4.266667 4.266667h588.8a3.84 3.84 0 0 0 4.266667-4.266667V217.6a3.84 3.84 0 0 0-4.266667-4.266667zM853.333333 849.066667a4.693333 4.693333 0 0 1-4.693333 4.693333H174.933333a4.693333 4.693333 0 0 1-4.693333-4.693333V174.933333a4.693333 4.693333 0 0 1 5.12-4.266666H849.066667a4.693333 4.693333 0 0 1 4.693333 4.693333z" fill="{fillColor}"></path></svg>`
        },
        /**
         * 单元框图标
         */
        radio: {
            STATUS_TRUE: `<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1709626845097" class="icon" viewBox="80 80 740 740" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4452" xmlns:xlink="http://www.w3.org/1999/xlink" width="{width}" height="{height}"><path d="M512 810.667c-164.693 0-298.667-134.016-298.667-298.667s133.973-298.667 298.667-298.667c164.651 0 298.667 134.016 298.667 298.667s-134.016 298.667-298.667 298.667zM512 253.184c-142.72 0-258.859 116.096-258.859 258.816s116.139 258.816 258.859 258.816c142.763 0 258.816-116.181 258.816-258.816 0-142.763-116.053-258.816-258.816-258.816z" p-id="4453"></path><path d="M682.667 512c0 94.257-76.41 170.667-170.667 170.667s-170.667-76.41-170.667-170.667c0-94.257 76.41-170.667 170.667-170.667s170.667 76.41 170.667 170.667z" fill="{fillColor}"></path></svg>`,
            STATUS_FALSE: `<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1709626840599" class="icon" viewBox="80 80 740 740" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4298" xmlns:xlink="http://www.w3.org/1999/xlink" width="{width}" height="{height}"><path d="M512 810.667c-164.693 0-298.667-134.016-298.667-298.667s133.973-298.667 298.667-298.667c164.651 0 298.667 134.016 298.667 298.667s-134.016 298.667-298.667 298.667zM512 253.184c-142.72 0-258.859 116.096-258.859 258.816s116.139 258.816 258.859 258.816c142.763 0 258.816-116.181 258.816-258.816 0-142.763-116.053-258.816-258.816-258.816z" fill="{fillColor}"></path></svg>`,
        }
    },
    /**
     * 文档模式
     */
    sDocMode: {
        /**
         * 设计模式，任意修改
         */
        DESIGN: "design",
        /**
         * 表单模式，输入域内容可修改
         */
        FORM: "form",
        /**
         * 只读模式，不可修改(禁止键盘+命令输入)，但可以选择复制
         */
        READ_ONLY: "readonly",
        /**
         * 预览模式，预留
         */
        PREVIEW: "preview",
        /**
         * 锁定模式，禁止使用键盘和鼠标
         */
        LOCKED: "locked",
    },
    /**
     * 默认属性
     */
    sDefaultProps: {
        /**
         * 多选框默认宽度
         */
        CHECKBOX_WIDTH: 24,
        /**
         * 多选框默认高度
         */
        CHECKBOX_HEIGHT: 24,
        /**
         * 单选框默认宽度
         */
        RADIO_WIDTH: 26,
        /**
         * 单选框默认宽度
         */
        RADIO_HEIGHT: 26
    },
    /**
     * 下拉框类型
     */
    sDropdownType: {
        /**
         * 普通列表
         */
        LIST: "list",
        /**
         * 树形列表
         */
        TREE: "",
        /**
         * 日历
         */
        CALENDAR: "calendar"
    },
    /**
     * 层元素呈现类型
     */
    sPresentType: {
        /**
         * 图片
         */
        IMAGE: "image",
        /**
         * 单选框
         */
        RADIO: "radio",
        /**
         * 复选框
         */
        CHECKBOX: "checkbox",
        /**
         * 直线
         */
        LINE: "line",
        /**
         * 分页符
         */
        PAGE_BREAK: "pageBreak",
        /**
         * 页码
         */
        PAGE_NUMBER: "pageNumber",
        /**
         * 二维码
         */
        QRCODE: "qrcode",
        /**
         * 条码
         */
        BARCODE: "barcode",
        /**
         * 公式
         */
        FORMULA: "formula",
        /**
         * 表达式
         */
        EXPRESSION: "expression",
        /**
         * 可编辑控件
         */
        EDITABLE: "editable",
    },
    /**
     * 层元素呈现类型映射元素类型
     */
    sPresentTypeMapElType: {
        /**
         * 图片
         */
        "image": "sImage",
        /**
         * 单选框
         */
        "radio": "sRadio",
        /**
         * 复选框
         */
        "checkbox": "sCheckBox",
        /**
         * 直线
         */
        "line": "sImage",
        /**
         * 分页符
         */
        "pageBreak": "sImage",
        /**
         * 页码
         */
        "pageNumber": "sImage",
        /**
         * 二维码
         */
        "qrcode": "sImage",
        /**
         * 条码
         */
        "barcode": "sImage",
        /**
         * 公式
         */
        "formula": "sImage",
        /**
         * 表达式
         */
        "expression": "sImage",
        /**
         * 可编辑控件
         */
        "editable": "sImage"
    },
    /**
     * 标题类型
     */
    sTitleTypes: ["H1","H2","H3","H4","H5","H6","Title","Sub","Text"]
}

/**
 * 菜单命令
 */
ssDict.sMenuCommands = {
    /**
     * 复制
     */
    "copy": { method: "copy" },
    /**
     * 剪切
     */
    "cut": { method: "cut" },
    /**
     * 删除表格列
     */
    "deleteTableColumn": { method: "deleteTableColumn" },
    /**
     * 删除表格行
     */
    "deleteTableRow": { method: "deleteTableRow" },
    /**
     * 导出文件
     */
    "exportFile": {method: "exportFile"},
    /**
     * 导出HTML
     */
    "exportHTML": {method: "exportHTML"},
    /**
     * 导出PDF
     */
    "exportPDF": {method: "exportPDF"},
    /**
     * 查找
     */
    "find": { method: "find" },
    /**
     * 获取文档所有标题信息
     */
    "getAllTitleInfo": { method: "getAllTitleInfo" },
    /**
     * 获取表格单元格内边距
     */
    "getCellPadding" : { method: "getCellPadding"},
    /**
     * 获取当前元素
     */
    "getCurrentElement": { method: "getCurrentElement" },
    /**
     * 获取编辑区域的包围盒
     */
    "getEditBoundRect": { method: "getEditBoundRect" },
    /**
     * 获取分页信息
     */
    "getPageList": { method: "getPageList" },
    /**
     * 获取文档页面缩略图
     */
    "getPagePreview": { method: "getPagePreview" },
    /**
     * 获取页面设置
     */
    "getPageSetting": { method: "getPageSetting" },
    /**
     * 获取水印
     */
    "getWatermark": { method: "getWatermark" },
    /**
     * 获取底纹
     */
    "getTexture": { method: "getTexture" },
    /**
     * 获取标题
     */
    "getTitles": { method: "getTitles" },
    /**
     * 导入文件
     */
    "importFile": { method: "importFile" },
    /**
     * 插入批注
     */
    "insertAnnotation": { method: "insertAnnotation" },
    /**
     * 插入回车
     */
    "insertEnter": { method: "insertEnter" },
    /**
     * 插入换行
     */
    "insertBreakline": { method: "insertBreakline" },
    /**
     * 插入复选框
     */
    "insertCheckBox": { method: "insertCheckBox" },
    /**
     * 插入输入域
     */
    "insertInputArea": { method: "insertInputArea" },
    /**
     * 插入HTML
     */
    "insertHTML": { method: "insertHTML" },
    /**
     * 插入直线
     */
    "insertLine": { method: "insertLine" },
    /**
     * 插入页码
     */
    "insertPageNum": { method: "insertPageNum" },
    /**
     * 插入分页符
     */
    "insertPageBreak": { method: "insertPageBreak" },
    /**
     * 插入单选框
     */
    "insertRadio": { method: "insertRadio" },
    /**
     * 插入图片
     */
    "insertImage": { method: "insertImage" },
    /**
     * 插入表格
     */
    "insertTable": { method: "insertTable" },
    /**
     * 插入表格列
     */
    "insertTableColumn": { method: "insertTableColumn" },
    /**
     * 插入表格行
     */
    "insertTableRow": { method: "insertTableRow" },
    /**
     * 插入文本
     */
    "insertText": { method: "insertText" },
    /**
     * 插入底纹
     */
    "insertTexture": { method: "insertTexture"},
    /**
     * 插入水印
     */
    "insertWatermark": { method: "insertWatermark" },
    /**
     * 加载文件
     */
    "loadFile": {method: "loadFile"},
    /**
     * 定位到指定页
     */
    "locatePage": {method: "locatePage"},
    /**
     * 定位到指定行
     */
    "locateRow": {method: "locateRow"},
    /**
     * 合并单元格
     */
    "mergeCell": {method: "mergeCell"},
    /**
     * 页面设置
     */
    "pageSetting": { method: "pageSetting" },
    /**
     * 粘贴
     */
    "paste": { method: "paste" },
    /**
     * 打印
     */
    "print": { method: "print" },
    /**
     * 根据选择器获取元素
     */
    "querySelector": { method: "querySelector" },
    /**
     * 重做
     */
    "redo": { method: "redo" },
    /**
     * 替换
     */
    "replace": { method: "replace" },
    /**
     * 设置单元格边框
     */
    "setCellBorder": {method: "setCellBorder"},
    /**
     * 设置单元格内边距
     */
    "setCellPadding": {method: "setCellPadding"},
    /**
     * 设置数据源
     */
    "setDataSource": {method: "setDataSource"},
    /**
     * 设置段落样式
     */
    "setParagraphStyle": { method: "setParagraphStyle" },
    /**
     * 设置选择区域
     */
    "setRange": { method: "setRange" },
    /**
     * 设置选择区域
     */
    "setSelection": { method: "setSelection" },
    /**
     * 设置配置
     */
    "setSetting": { method: "setSetting" },
    /**
     * 设置样式
     */
    "setStyle": { method: "setStyle" },
    /**
     * 设置表格列宽
     */
    "setTableColumnWidth": {method: "setTableColumnWidth"},
    /**
     * 设置表格行高
     */
    "setTableRowHeight": {method: "setTableRowHeight"},
    /**
     * 设置为标题
     */
    "setTitle": { method: "setTitle" },
    /**
     * 设置为表头
     */
    "setTableRowHead": {method: "setTableRowHead"},
    /**
     * 拆分单元格
     */
    "splitCell": { method: "splitCell" },
    /**
     * 撤销
     */
    "undo": { method: "undo" },
    /**
     * 更新元素属性
     */
    "updateAttributes": {method: "updateAttributes"},
    /**
     * 发大或缩小
     */
    "zoom": { method: "zoom" },
    /**
     * 放大
     */
    "zoomIn": { method: "zoomIn" },
    /**
     * 缩小
     */
    "zoomOut": { method: "zoomOut" },
};
